Method and apparatus for defining hot spot based task for multimedia data

ABSTRACT

An apparatus includes a communication interface for receiving a multimedia data item associating captured multimedia data with metadata, the metadata including at least geographical location information and a time stamp; at least one processor; and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus to maintain hot spot information for a user, the hot spot information comprising previous geographical location information of the user; receive a request for multimedia data, the request associated with a geographical location; determine at least one user based on comparison of the geographical location and the hot spot information; and provision the request for the multimedia data to the determined at least one user.

TECHNICAL FIELD

The present application generally relates to a method and an apparatus for defining hotspot based task for multimedia data. The present application further relates to a method and an apparatus for defining an algorithm for updating hotspot related data for the tasks.

BACKGROUND ART

A mobile apparatus may create multimedia data using, for example, camera and voice recording means for producing still images and/or streaming voice or video data. The mobile apparatus may also have some connectivity means for connecting the device to a network or to another device for uploading the captured images from the storage media of the camera to another storage media.

Services exist in networks, e.g. the Internet, for managing data, e.g. multimedia data, received from mobile apparatuses. The services are typically accessed via a web browser or using a client application made specifically for the purpose of accessing the service. The services may provide multimedia data for users based on certain criteria for the multimedia data.

Mobile apparatuses are also connectable to devices such as cameras using a wired or wireless data communication means. The wired data communication means may be e.g. a USB (Universal Serial Bus) connection. The wireless data communication means may utilize be e.g. a Bluetooth or a Wireless LAN connection between the apparatus and the camera.

Because the service system provides multimedia data for users, the users need to be able to define a task for certain type of multimedia data that is needed for a certain time and/or a location. A solution for defining a location based task for the captured multimedia data is needed. Such location based task should improve the accuracy and reliability of the multimedia captured by a certain multimedia device for a certain task.

SUMMARY

According to a first example aspect of the invention there is provided an apparatus comprising:

-   -   a communication interface for receiving a multimedia data item         associating captured multimedia data with metadata, the metadata         comprising at least geographical location information and a         timestamp;     -   at least one processor; and     -   at least one memory including computer program code; the at         least one memory and the computer program code configured to,         with the at least one processor, cause the apparatus to:     -   maintain hotspot information for a user, the hotspot information         comprising previous geographical location information of the         user;     -   receive a request for multimedia data, the request associated         with a geographical location;     -   determine at least one user based on comparison of the         geographical location and the hotspot information; and     -   provision the request for the multimedia data to the determined         at least one user.

In an embodiment, the apparatus may comprise a server apparatus.

In an embodiment, a location update may be received over the communication interface and the hotspot information updated for the user based on the location update.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   receive a location update over the communication interface;     -   amend geographical location information of the location update         by a random distance; and     -   update the hotspot information for the user based on the amended         geographical location.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   define at least one hotspot, for the user, with a certain         geographical location, the hotspot being stored to the hotspot         information.

In an embodiment, the hotspot further comprises a timestamp for a latest visit to the hotspot by the user and a count value of total visits to the hotspot by the user.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   define a maximum number of hotspots for the user.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   delete hotspots from the hotspot information in response to a         number of hotspots exceeding the maximum number of hotspots.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   spare hotspots with a latest timestamp value.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   spare hotspots with a largest count value.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   receive a push hotspot for the user;     -   define the push hotspot, for the user, with a certain         geographical location, the push hotspot being stored to the         hotspot information.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   determine user location; and     -   approve multimedia data from the user for the provisioned         request based on the determined user location.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   compare the user location with the hotspot information;     -   approve multimedia data from the user for the provisioned         request in response to the comparison step revealing the hotspot         information comprising the user location.

In an embodiment, the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to:

-   -   compare the user location with the hotspot information; and     -   approve multimedia data from the user for the provisioned         request in response to the comparison step revealing at least         one of the previous geographical location information of the         user being within a predefined distance from the user location.

According to a second example aspect of the invention there is provided a method for providing hotspot based task for multimedia data, the method comprising:

-   -   maintaining hotspot information for a user, the hotspot         information comprising previous geographical location         information of the user;     -   receiving a request for multimedia data, the request associated         with a geographical location;     -   determining at least one user based on comparison of the         geographical location and the hotspot information; and     -   provisioning the request for the multimedia data to the         determined at least one user.

According to a third example aspect of the invention there is provided a computer program embodied on a computer readable medium comprising computer executable program code which, when executed by at least one processor of an apparatus, causes the apparatus to:

-   -   maintain hotspot information for a user, the hotspot information         comprising previous geographical location information of the         user;     -   receive a request for multimedia data, the request associated         with a geographical location;     -   determine at least one user based on comparison of the         geographical location and the hotspot information; and     -   provision the request for the multimedia data to the determined         at least one user.

Different non-binding example aspects and embodiments of the present invention have been illustrated in the foregoing. The above embodiments are used merely to explain selected aspects or steps that may be utilized in implementations of the present invention. Some embodiments may be presented only with reference to certain example aspects of the invention. It should be appreciated that corresponding embodiments may apply to other example aspects as well.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described, by way of example only, with reference to the accompanying drawings, in which:

FIG. 1 shows a schematic picture of a system according to an example embodiment of the invention;

FIG. 2 presents an example block diagram of a user apparatus in which various embodiments of the invention may be applied;

FIG. 3 presents an example block diagram of a multimedia device in which various embodiments of the invention may be applied;

FIG. 4 presents an example block diagram of a server apparatus in which various embodiments of the invention may be applied;

FIG. 5 shows an overall block diagram of an example multimedia data item;

FIG. 6 shows a flow diagram showing operations in accordance with an example embodiment of the invention; and

FIG. 7 shows a schematic picture of hotspots and request for multimedia data according to an example embodiment of the invention.

DETAILED DESCRIPTION

In the following description, like numbers denote like elements.

FIG. 1 shows a schematic picture of a system 100 according to an example embodiment of the invention. The system 100 comprises a multimedia device 110 configured to be capable of capturing multimedia, such as digital still images and/or video streams. The multimedia device 110 may comprise a storage 111 for multimedia data. The storage 111 may comprise a flash memory card, for example. The multimedia device 110 is configured to be connectable to a user apparatus 120 over a data connection 112. The data connection 112 may be a wired connection or a wireless connection. The wired connection may comprise Universal Serial Bus (USB), High-Definition Multimedia Interface (HDMI) or local area network (LAN), for example. The wireless connection may comprise Bluetooth™, Radio Frequency Identification (RF-ID) or wireless local area network (WLAN), for example.

The multimedia device 110 is configured to send captured multimedia data over the data connection 112 to the user apparatus 120. Such transmittal may be initiated by a user of the multimedia device 110, by a user of the user apparatus 120, or automatically based on settings. Such settings may comprise for example time of the day, amount of newly captured multimedia data or existence of the data connection 112 for the multimedia device 110.

The user apparatus 120 may comprise a multimedia device 110, a mobile phone, an internet tablet or a laptop computer, for example. The user apparatus 120 is capable of downloading and locally executing software program code. The software program code may be a client application of a service whose server application is running on the server apparatus 130 of the system 100. The user apparatus 120 may comprise multimedia capturing element, such as a camera, for capturing multimedia, such as still images or video streams, for example. The user apparatus 120 may also have a metadata element 121 for creating data usable as metadata of the multimedia content captured by the multimedia device 110. The metadata element 121 may comprise at least one of the following: a microphone, a positioning device for determining the current location of the user apparatus 120, and a clock. The user apparatus 120 is configured to be connectable to a wireless communication network 140 over a wireless connection 122. The wireless connection 122 may comprise a mobile cellular network or a wireless local area network (WLAN), for example. The wireless communication network may be to a public data communication network 150, for example the Internet, over a data connection 141.

The system 100 may comprise a plurality of satellites 170 in orbit about the Earth. The orbit of each satellite 170 is not necessarily synchronous with the orbits of other satellites and, in fact, is likely asynchronous. A global positioning system receiver apparatus such as the user apparatus 120 in connection with preferred embodiments of the present invention is shown receiving spread spectrum global positioning system (GPS) satellite signals 124 from the various satellites 170.

In an embodiment, the system 100 comprises a server apparatus 130, which comprises a storage device 131 for storing multimedia and metadata received over a data connection 151. The system 100 may further comprise an external database 160, wherein multimedia and metadata may be stored over a data connection 161. The metadata stored in either of the storage device 131 or the external database 160 may comprise reference metadata, such as a multimedia device identifier, multimedia device model information, software version information of the multimedia device, resolution information of the multimedia device or parameters of a camera of the multimedia device, for example.

In an embodiment, multimedia data captured by a user may travel to a server apparatus 130 over different paths. A first path may comprise sending multimedia data captured by a proprietary application of a user apparatus 120 over a wireless communication network 122, 140, 141 and public data communication network 150, 151 to the server apparatus 130. A second path may comprise sending multimedia data captured by a default application of a user apparatus 120 over a wireless communication network 122, 140, 141 and public data communication network 150, 151 to the server apparatus 130. A third path may comprise sending multimedia data captured by a multimedia device 110 to the user apparatus 120 and therefrom over a wireless communication network 122, 140, 141 and public data communication network 150, 151 to the server apparatus 130. A fourth path may comprise sending multimedia data captured by the multimedia device 110 to a computer apparatus and therefrom over the public data communication network 150, 151 to the server apparatus 130.

In an embodiment, the proprietary application in the user apparatus 120 may be a client application of a service whose server application is running on the server apparatus 130 of the system 100. The proprietary application may capture the multimedia data for the first path. Also metadata for the captured multimedia may be retrieved by the proprietary application from the metadata elements 121 of the user apparatus 120. The default application may be an imaging application of the user apparatus 120. For the second path, the multimedia data captured by the default application may be imported to the proprietary application before transmitting to the server apparatus 130. The proprietary application may check the multimedia data and extract and apply metadata for the multimedia data. For the third path, the multimedia may be captured by the multimedia device 110 and transmitted to the proprietary application of the user apparatus 120 for sending to the server apparatus 130. The proprietary application may check the multimedia data and extract and apply metadata for the multimedia data. User may provide additional metadata using the user apparatus 120. For the fourth path, the multimedia may be captured by the multimedia device 110 and transmitted to a communication application of a computer apparatus. The communication application may check the multimedia data and extract and apply metadata for the multimedia data. User may provide additional metadata using the computer apparatus. In a further embodiment, the user may access the multimedia data on the server apparatus and provide additional metadata.

In an embodiment, a service user may define a task in the service system 100. Such task may be stored to the server apparatus 130 and comprise a request for certain type of multimedia data with certain criteria. The requested multimedia type may be streaming video or still image, for example. The requested multimedia criteria may comprise, for example, certain location, time, event or object. Other users of the system 100 and registered to the server apparatus 130 may capture the requested multimedia data using a user apparatus 120 or a multimedia device 110 and deliver the multimedia data to the server 130 in response to the task.

The requested task may relate to a certain geographical area. For example, the desired multimedia data may relate to an event taking place in certain geographical location.

In an embodiment, the task may be provisioned to a group of users based on certain criteria. For example, the task may be provisioned to certain users that are assumed to be located close to the geographical area of the requested task. In such cases, hotspot information may be used in task provisioning.

First, a new task is received to the system 100 and the task information is stored to the server 130. The task may be created by a user having task creating rights to the system 100 using for example a computer apparatus accessible to the server 130. The task information may comprise a target of the task, a time frame for the task being active, amount of reward money being paid for an approved multimedia data for the task, geographical location coordinates for the task and radius.

Second, the task may be provisioned to a user or users. If the system 100 is able to receive location information for users, such information may be utilized for provisioning. Hotspot information for users may be stored to the system 100 for such purpose. The task may be provisioned to a user if one or two user hotspots with most recent “last seen” timestamp reside in the task's area or if one or two user hotspots of largest “seen count” reside in the task's area, for example.

In an embodiment, user location information gathering apparatus, in which individual location updates and their timestamps are stored, may be implemented in server apparatus 130. The user location update to the server 130 may be utilized by the proprietary application of the user apparatus 120. The update may be done when captured multimedia data is transferred from the user apparatus 120 to the server 130 or in timely basis without need to transfer multimedia data. In the task request information, a hotspot radius may be defined to denote a distance in which the precision of the hotspot may be determined. Such distance may be determined to be short enough for enabling a reliable provisioning but large enough to cover some area of movement for the user. In urban environment, 5 km as hotspot radius may be used, for example.

In an embodiment, the server 130 receives a location update for geographical location of the user, such as a latitude-longitude pair and a timestamp for the update. The system service checks whether hotspot is available for the user in the database 130, 131 within 5 km of the location update, the hotspot may be updated with following actions:

-   -   Hotspot “last seen” timestamp is refreshed.     -   Hotspot location is adjusted towards the new location using         biased average giving more weight to the existing hotspot         location, if the “seen” count of the hotspot is large.     -   Increment the “seen” count of the hotspot by one.

If the hotspot does not exist, a new hotspot may be created with “last seen” timestamp set to current time, “seen” count set to one, and hotspot location set to the location of the current location update. Optionally, location binding may be performed before this step by adjusting the newly created location hotspot by moving the location by a random distance (e.g. 0 . . . 1000 m) to a random direction in order to avoid storing the exactly same location update. Such adjusting may be useful for providing privacy enhancement, such as avoiding the exact route follow-up and storage by the service system.

In an embodiment, after receiving a location update from the user apparatus 120, the server 130 may update existing hotspot information or create new hotspot before deleting the location update information. Deleting the location update ensures that the system operates without storing the user location update information.

In an embodiment, hotspot location may be converged towards the exact final location based on plurality of location updates.

In an embodiment, a location update sent by the user apparatus 120 to the server 130 may be randomized before sending by adjusting the location information by moving the location by a random distance (e.g. 0 . . . 1000 m) to a random direction in order to avoid storing the exact location. Such may be useful for privacy enhancement.

In an embodiment, a location update sent by the user apparatus 120 to the server 130 may be randomized after receiving at the server apparatus 130 by adjusting the location information by moving the location by a random distance (e.g. 0 . . . 1000 m) to a random direction in order to avoid storing the exact location. Such may be useful for privacy enhancement.

In an embodiment, all hotspots exceeding the “age hard limit” may be purged by deleting hotspots with “last seen” timestamp older than the limit, for example 1 month.

In an embodiment, if the number of hotspots exceeds a maximum number of hotspots allowed for a single user (for example 10), hotspots may be deleted with following actions:

-   -   Spare latest hotspots (for example 4) with newest “last seen”         timestamp value.     -   Spare most popular hotspots (for example 4) with largest “seen”         count value.     -   Delete the hotspot with a smallest score from remaining         hotspots. The score may be calculated by dividing the “seen”         count with logarithmically growing factor calculated from the         age of the “last seen” timestamp.

FIG. 2 presents an example block diagram of a user apparatus 120 in which various embodiments of the invention may be applied. The user apparatus 120 may be a multimedia device 110, a user equipment (UE), a user device or an apparatus, such as a mobile terminal, a smart phone or other communication device.

The general structure of the user apparatus 120 comprises a user interface 240, a communication interface 240, a metadata element 270, a camera, a processor 210, and a memory 220 coupled to the processor 210. The user apparatus 120 further comprises software 230 stored in the memory 220 and operable to be loaded into and executed in the processor 210. The software 230 may comprise one or more software modules and can be in the form of a computer program product. The software 230 may also provide metadata information relating to the software and hardware of the user apparatus 120. The user apparatus 210 may further comprise a user interface controller 280.

The processor 210 may be, e.g., a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, or the like. FIG. 2 shows one processor 210, but the user apparatus 120 may comprise a plurality of processors.

The memory 220 may be for example a non-volatile or a volatile memory, such as a read-only memory (ROM), a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), a random-access memory (RAM), a flash memory, a data disk, an optical storage, a magnetic storage, a smart card, or the like. The user apparatus 120 may comprise a plurality of memories. The memory 220 may be constructed as a part of the user apparatus 120 or it may be inserted into a slot, port, or the like of the user apparatus 120 by a user. The memory 220 may serve the sole purpose of storing data, or it may be constructed as a part of an apparatus serving other purposes, such as processing data. A proprietary multimedia application, a default multimedia application and multimedia data may be stored to the memory 220.

The user interface controller 280 may comprise circuitry for receiving input from a user of the user apparatus 120, e.g., via a keyboard, graphical user interface shown on the display of the user interfaces 240 of the user apparatus 120, speech recognition circuitry, or an accessory device, such as a headset, and for providing output to the user via, e.g., a graphical user interface or a loudspeaker.

The metadata element 270 comprises element configured to provide metadata information. Such elements may comprise, for example, a positioning device, an accelerometer, a temperature gauge, a clock or a microphone.

The camera 260 may be a still image camera or a video stream camera, capable for creating multimedia data and providing metadata information.

The communication interface module 250 implements at least part of radio transmission. The communication interface module 250 may comprise, e.g., a wireless or a wired interface module. The wireless interface may comprise such as a WLAN, Bluetooth, infrared (IR), radio frequency identification (RF ID), GSM/GPRS, CDMA, WCDMA, or LTE (Long Term Evolution) radio module. The wired interface may comprise such as universal serial bus (USB), for example. The communication interface module 250 may be integrated into the user apparatus 120, or into an adapter, card or the like that may be inserted into a suitable slot or port of the user apparatus 120. The communication interface module 250 may support one radio interface technology or a plurality of technologies. The user apparatus 120 may comprise a plurality of communication interface modules 250. Captured multimedia may be transmitted to a wireless communication network 140 using the communication interface 250.

A skilled person appreciates that in addition to the elements shown in FIG. 2, the user apparatus 120 may comprise other elements, such as microphones, extra displays, as well as additional circuitry such as input/output (I/O) circuitry, memory chips, application-specific integrated circuits (ASIC), processing circuitry for specific purposes such as source coding/decoding circuitry, channel coding/decoding circuitry, ciphering/deciphering circuitry, and the like. Additionally, the user apparatus 120 may comprise a disposable or rechargeable battery (not shown) for powering when external power if external power supply is not available.

In an embodiment, the user apparatus 120 comprises speech recognition means. Using these means, a pre-defined phrase may be recognized from the speech and translated into a metadata tag. This tag may then be used as any other metadata, for example for characterizing the captured multimedia or for grouping images together, for example.

FIG. 3 presents an example block diagram of a multimedia device 110 in which various embodiments of the invention may be applied. The multimedia device 110 may be a digital still camera or digital video camera, for example.

The general structure of the multimedia device 110 comprises a processor 310, and a memory 320 coupled to the processor 310. The multimedia device 110 further comprises software 330 stored in the memory 320 and operable to be loaded into and executed in the processor 310. The software 330 may comprise one or more software modules and can be in the form of a computer program product. The software 330 may provide metadata information of the software or hardware of the multimedia device 110.

The processor 310 may be, e.g., a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, or the like. FIG. 3 shows one processor 310, but the multimedia device 110 may comprise a plurality of processors.

The memory 320 may be for example a non-volatile or a volatile memory, such as a read-only memory (ROM), a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), a random-access memory (RAM), a flash memory, a data disk, an optical storage, a magnetic storage, a smart card, or the like. The multimedia device 110 may comprise a plurality of memories. The memory 320 may be constructed as a part of the multimedia device 110 or it may be inserted into a slot, port, or the like of the multimedia device 110 by a user. The memory 320 may serve the sole purpose of storing data, or it may be constructed as a part of an apparatus serving other purposes, such as processing data.

The image sensor 340 may be a device converting an optical image into an electronic signal, for example a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) active pixel sensor. The image sensor 340 may provide metadata information of the image sensor 340.

The communication interface module 350 implements at least part of radio transmission. The communication interface module 350 may comprise, e.g., a wireless or a wired interface module. The wireless interface may comprise such as a WLAN, Bluetooth, infrared (IR), radio frequency identification (RF ID), GSM/GPRS, CDMA, WCDMA, or LTE (Long Term Evolution) radio module. The wired interface may comprise such as universal serial bus (USB), for example. The communication interface module 350 may be integrated into the multimedia device 110, or into an adapter, card or the like that may be inserted into a suitable slot or port of the multimedia device 110. The communication interface module 350 may support one radio interface technology or a plurality of technologies. The multimedia device 110 may comprise a plurality of communication interface modules 350. Captured multimedia data of the multimedia device 110 may be transmitted to a user apparatus 120 or to a computer apparatus using the communication interface 350.

A skilled person appreciates that in addition to the elements shown in FIG. 3, the multimedia device 110 may comprise other elements, such as microphones, displays, as well as additional circuitry such as input/output (I/O) circuitry, memory chips, application-specific integrated circuits (ASIC), processing circuitry for specific purposes such as source coding/decoding circuitry, channel coding/decoding circuitry, ciphering/deciphering circuitry, and the like. Additionally, the multimedia device 110 may comprise a disposable or rechargeable battery (not shown) for powering when external power if external power supply is not available

FIG. 4 presents an example block diagram of a server apparatus 130 in which various embodiments of the invention may be applied.

The general structure of the server apparatus 130 comprises a processor 410, and a memory 420 coupled to the processor 410. The server apparatus 130 further comprises software 430 stored in the memory 420 and operable to be loaded into and executed in the processor 410. The software 430 may comprise one or more software modules and can be in the form of a computer program product.

The processor 410 may be, e.g., a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a graphics processing unit, or the like. FIG. 4 shows one processor 410, but the server apparatus 130 may comprise a plurality of processors.

The memory 420 may be for example a non-volatile or a volatile memory, such as a read-only memory (ROM), a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), a random-access memory (RAM), a flash memory, a data disk, an optical storage, a magnetic storage, a smart card, or the like. The server apparatus 130 may comprise a plurality of memories. The memory 420 may be constructed as a part of the server apparatus 130 or it may be inserted into a slot, port, or the like of the server apparatus 130 by a user. The memory 420 may serve the sole purpose of storing data, or it may be constructed as a part of an apparatus serving other purposes, such as processing data.

The communication interface module 450 implements at least part of radio transmission. The communication interface module 450 may comprise, e.g., a wireless or a wired interface module. The wireless interface may comprise such as a WLAN, Bluetooth, infrared (IR), radio frequency identification (RF ID), GSM/GPRS, CDMA, WCDMA, or LTE (Long Term Evolution) radio module. The wired interface may comprise such as universal serial bus (USB), for example. The communication interface module 450 may be integrated into the server apparatus 130, or into an adapter, card or the like that may be inserted into a suitable slot or port of the server apparatus 130. The communication interface module 450 may support one radio interface technology or a plurality of technologies. The server apparatus 130 may comprise a plurality of communication interface modules 450. Captured multimedia data of the multimedia device 110 or the user apparatus 120 may be received by the server apparatus 130 using the communication interface 450.

The e-mail server process 460, which receives e-mail messages sent from user apparatuses 120 and computer apparatuses via the network 150. The server 460 may comprise a content analyzer module 461, which checks if the content of the received message meets the criteria that are set for new content data of the service. The content analyzer module 461 may for example check, whether the e-mail message contains a valid still image or a video stream. The valid content data received by the e-mail server is then sent to an application server 440, which provides application services e.g. relating to user hotspots stored in a user service database 470 and content of the content management service. In the service database 470, task information for multimedia data requests may also be stored. The task information may also be stored in the external database 160, wherein multimedia, hotspot information and task information may be stored over a data connection 161.

The task information stored in either of the storage device 131 or the external database 160 may comprise task requests for multimedia data within a certain geographical location with a certain radius, for example. Furthermore, user hotspots information may be stored in the service database 470 or in the external database 160. The user hotspots information may comprise information of registered users and their registered hotspots. The hotspots information may further comprise for example, a multimedia device type, multimedia device model information or software version information of the multimedia device, for example. Such information may further be used for task requests. Content provided by the service system 100 is stored in a content database 480.

A skilled person appreciates that in addition to the elements shown in FIG. 4, the server apparatus 130 may comprise other elements, such as microphones, displays, as well as additional circuitry such as input/output (I/O) circuitry, memory chips, application-specific integrated circuits (ASIC), processing circuitry for specific purposes such as source coding/decoding circuitry, channel coding/decoding circuitry, ciphering/deciphering circuitry, and the like.

FIG. 5 shows an overall block diagram of an example multimedia data item 500 according to an example embodiment of the invention.

The multimedia data item 500 comprises multimedia data 510, such as image data. Furthermore, the multimedia data item 500 comprises metadata 520. In an embodiment, the metadata 520 comprises multimedia device information 530 as a searchable metadata element for validation of the multimedia data item 500. The metadata 520 may further comprise metadata tags 525 for providing geographical hotspot location the multimedia data item 500, for example.

The metadata 520 may be written into the multimedia data item 500 for identifying who owns the multimedia data, such as image data 510, copyright & contact information, what camera created the file, along with exposure information and descriptive information such as keywords about the photo, making the file searchable on the computer and/or the Internet. Some metadata 520 may be written by the camera and further metadata 520 may be input by the photographer, user and/or computer software after downloading the multimedia data 510 to a computer, for example.

The metadata 520 may be configured to use a certain standard format, such as Exchangeable Image Format (EXIF). Specifically, FIG. 5 illustrates a single digital image 500 stored in the EXIF format, such as in a file on a computer or on a removable media device in a digital camera. As will be appreciated by those skilled in the art, an EXIF file 500 may contain multiple digital images having a similar format. The metadata 520 may also comprise at least two metadata, for example simple metadata and complex metadata. In FIG. 5 only a single metadata 520 is showed, for simplicity. The metadata 520 may include tags 525. The tags 525 include information such as descriptions, copyright information, date and time information, camera settings such as camera model and make, and information that varies with each image such as orientation (rotation), aperture, shutter speed, focal length, metering mode, location information, and ISO speed information. The tags may further comprise a thumbnail for previewing the picture on the camera's LCD screen, in file managers, or in photo manipulation software.

The metadata 520 format may comprise standard tags 525 for location information. Cameras and mobile devices may have a built-in GPS receiver or a cellular positioning device that stores the location information in the metadata tags 525 when the picture is taken. Some other cameras have a separate GPS receiver that fits into the flash connector, for example. Recorded GPS data can also be added to any digital photograph on a computer, either by correlating the time stamps of the photographs with a GPS record from a hand-held GPS receiver or manually using a map or mapping software. The process of adding geographic information to a photograph is known as geocoding. A system server may allow their users to upload geocoded pictures or to add geolocation information online.

In an embodiment, geographic location data is comprised in the tags 525. Furthermore, the device info 530 may be comprised in the tags 525.

In an embodiment, the metadata 520 may be configured to use any other standard format, such as:

-   -   IPTC Information Interchange Model IIM (International Press         Telecommunications Council),     -   IPTC Core Schema for XMP,     -   XMP—Extensible Metadata Platform (an Adobe standard),     -   Dublin Core (Dublin Core Metadata Initiative—DCMII), or     -   PLUS (Picture Licensing Universal System).

FIG. 6 shows a flow diagram showing operations in accordance with an example embodiment of the invention. In step 600, the method is started. In step 610, hotspot information for a user is maintained, the hotspot information comprising previous geographical location information of the user. In step 620, a request is received for multimedia data, the request associated with a geographical location. At least one user is determined based on comparison of the geographical location and the hotspot information in step 630. In step 640, the request for the multimedia data is provisioned to the determined at least one user. The method ends in step 650.

FIG. 7 shows a schematic picture of hotspots and request for multimedia data according to an example embodiment of the invention.

In an embodiment, a service user may define a task in the service system. Such task may be stored to the server apparatus and comprise a request for certain type of multimedia data with certain criteria. The requested multimedia type may be streaming video or still image, for example. The requested multimedia criteria may comprise, for example, certain location, time, event or object. Other users of the system and registered to the server apparatus may capture the requested multimedia data using a user apparatus or a multimedia device and deliver the multimedia data to the server in response to the task.

The requested task may relate to a certain geographical area. For example, the desired multimedia data may relate to an event taking place in certain geographical location 710.

In an embodiment, the task may be provisioned to a group of users based on certain criteria. For example, the task may be provisioned to certain users that are assumed to be located close to the geographical area of the requested task. In such cases, hotspot information may be used in task provisioning.

A new task may be received by the system and the task information is stored to the server. The task may relate to a location 710 and a radius 711 may be defined for the location 710 inside which radius users may be determined for provisioning the task. If the system is able to receive location information for users, such information may be utilized for provisioning. Hotspot information for users may be stored to the system for such purpose. The task may be provisioned to a user if one or two user hotspots with most recent “last seen” timestamp reside in the task's area or if one or two user hotspots of largest “seen count” reside in the task's area, for example. In FIG. 7, hotspots for four different users are shown. User A owns hotspot information for hotspots 720-723, user B for hotspots 730-731, user C for hotspot 740 and user D for hotspots 750-751. For the task of location 710, three hotspots 720-721, 730 are determined inside the radius 711 for provisioning. Hotspots 720-721 belong to the same user A and hotspot 730 belong to user B. Thus users A and B are provisioned with the task.

In an embodiment, if a distance between two hotspots for the same user is less than a pre-defined threshold value, the two hotspots may be combined as one. For such combined hotspot the timestamp being the latest visit of the hotspots, the count value being the combined count value of the hotspots and the geographical location being mean value of the combined hotspot coordinates, for example.

In an embodiment, a user may push a hotspot for the system. The user may be travelling to a new location not yet maintained as a hotspot by the system for the user but willing to be provisioned tasks for the corresponding location. In such case, for example, the user may push a new hotspot to be maintained by the system as the user hotspot information. A “last seen” timestamp may be stored for the pushed hotspot to be the time of the hotspot being stored to the system or the time estimated for the user to be arriving to the location of the pushed hotspot.

In an embodiment, after provisioning the request for the multimedia data to the determined at least one user, the user location may be used as a criteria to allow multimedia data submitted by the user for the request. By determining the user location before allowing the user to submit multimedia data for the provisioned request, it is ensured that the user really is located in the hotspot used for the provisioning. This is especially useful when the user has pushed the hotspot to the system, which pushed hotspot is then used for provisioning.

Various embodiments have been presented. It should be appreciated that in this document, words comprise, include and contain are each used as open-ended expressions with no intended exclusivity. If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.

The foregoing description has provided by way of non-limiting examples of particular implementations and embodiments of the invention a full and informative description of the best mode presently contemplated by the inventors for carrying out the invention. It is however clear to a person skilled in the art that the invention is not restricted to details of the embodiments presented above, but that it can be implemented in other embodiments using equivalent means or in different combinations of embodiments without deviating from the characteristics of the invention.

Furthermore, some of the features of the above-disclosed embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description shall be considered as merely illustrative of the principles of the present invention, and not in limitation thereof. Hence, the scope of the invention is only restricted by the appended patent claims. 

1. An apparatus comprising: a communication interface for receiving a multimedia data item associating captured multimedia data with metadata, the metadata comprising at least geographical location information and a timestamp; at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to: maintain hotspot information for a user, the hotspot information comprising previous geographical location information of the user; define at least one hotspot, for the user, with a certain geographical location, the hotspot being stored to the hotspot information, wherein the hotspot further comprising a timestamp for a latest visit to the hotspot by the user and a count value of total visits to the hotspot by the user; receive a request for multimedia data, the request associated with a geographical location; determine at least one user based on comparison of the geographical location and the hotspot information; and provision the request for the multimedia data to the determined at least one user.
 2. The apparatus of claim 1, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: receive a location update over the communication interface and update the hotspot information for the user based on the location update.
 3. The apparatus of claim 1, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: receive a location update over the communication interface; amend geographical location information of the location update by a random distance; and update the hotspot information for the user based on the amended geographical location.
 4. (canceled)
 5. (canceled)
 6. The apparatus of claim 1, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: define a maximum number of hotspots for the user.
 7. The apparatus of claim 6, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: delete hotspots from the hotspot information in response to a number of hotspots exceeding the maximum number of hotspots.
 8. The apparatus of claim 7, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: spare hotspots with a latest timestamp value.
 9. The apparatus of claim 7, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: spare hotspots with a largest count value.
 10. The apparatus of claim 1, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: receive a push hotspot for the user; and define the push hotspot, for the user, with a certain geographical location, the push hotspot being stored to the hotspot information.
 11. The apparatus of claim 1, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: determine user location; and approve multimedia data from the user for the provisioned request based on the determined user location.
 12. The apparatus of claim 11, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: compare the user location with the hotspot information; and approve multimedia data from the user for the provisioned request in response to the comparison step revealing the hotspot information comprising the user location.
 13. The apparatus of claim 11, wherein the at least one memory and the computer program code further configured to, with the at least one processor, cause the apparatus to: compare the user location with the hotspot information; and approve multimedia data from the user for the provisioned request in response to the comparison step revealing at least one of the previous geographical location information of the user being within a predefined distance from the user location.
 14. A method for providing hotspot based task for multimedia data, the method comprising: maintaining hotspot information for a user, the hotspot information comprising previous geographical location information of the user; receiving a request for multimedia data, the request associated with a geographical location; determining at least one user based on comparison of the geographical location and the hotspot information; and provisioning the request for the multimedia data to the determined at least one user.
 15. The method of claim 14, further comprising: receiving a location update over the communication interface and updating the hotspot information for the user based on the location update.
 16. The method of claim 14, further comprising: receiving a location update over the communication interface; amending geographical location information of the location update by a random distance; and updating the hotspot information for the user based on the amended geographical location.
 17. (canceled)
 18. (canceled)
 19. A computer program embodied on a computer readable non-transitory medium comprising computer executable program code which, when executed by at least one processor of an apparatus, causes the apparatus to: maintain hotspot information for a user, the hotspot information comprising previous geographical location information of the user; define at least one hotspot, for the user, with a certain geographical location, the hotspot being stored to the hotspot information, wherein the hotspot further comprising a timestamp for a latest visit to the hotspot by the user and a count value of total visits to the hotspot by the user; receive a request for multimedia data, the request associated with a geographical location; determine at least one user based on comparison of the geographical location and the hotspot information; and provision the request for the multimedia data to the determined at least one user.
 20. The computer program embodied on a computer readable non-transitory medium comprising computer executable program code of claim 19 which, when executed by at least one processor of an apparatus, causes the apparatus to: receive a push hotspot for the user; and define the push hotspot, for the user, with a certain geographical location, the push hotspot being stored to the hotspot information.
 21. The computer program embodied on a computer readable non-transitory medium comprising computer executable program code of claim 19 which, when executed by at least one processor of an apparatus, causes the apparatus to: determine user location; and approve multimedia data from the user for the provisioned request based on the determined user location.
 22. The computer program embodied on a computer readable non-transitory medium comprising computer executable program code of claim 21 which, when executed by at least one processor of an apparatus, causes the apparatus to: compare the user location with the hotspot information; approve multimedia data from the user for the provisioned request in response to the comparison step revealing the hotspot information comprising the user location.
 23. The computer program embodied on a computer readable non-transitory medium comprising computer executable program code of claim 21 which, when executed by at least one processor of an apparatus, causes the apparatus to: compare the user location with the hotspot information; and approve multimedia data from the user for the provisioned request in response to the comparison step revealing at least one of the previous geographical location information of the user being within a predefined distance from the user location. 